/* C WGL bindings generated by glbindify 0.5.1 */
/* Command line: glbindify -n glplatform -a wgl */

#ifndef GL_BINDIFY_wgl_H
#define GL_BINDIFY_wgl_H
#ifdef __cplusplus
extern "C" {
#endif
#include <windows.h>
#include <stdint.h>
#include <stddef.h>
#include <string.h>
#include <stdbool.h>
#ifndef GLBINDIFY_COMMON_GL_TYPEDEFS
#define GLBINDIFY_COMMON_GL_TYPEDEFS
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef signed char GLbyte;
typedef short GLshort;
typedef int GLint;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef float GLfloat;
typedef double GLdouble;
typedef ptrdiff_t GLintptr;
typedef ptrdiff_t GLsizeiptr;
#endif
#ifndef GLPLATFORM_WGL_VERSION
#define GLPLATFORM_WGL_VERSION 10
#endif
struct _GPU_DEVICE {
    DWORD  cb;
    CHAR   DeviceName[32];
    CHAR   DeviceString[128];
    DWORD  Flags;
    RECT   rcVirtualScreen;
};
DECLARE_HANDLE(HPBUFFERARB);
DECLARE_HANDLE(HPBUFFEREXT);
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
DECLARE_HANDLE(HPVIDEODEV);
DECLARE_HANDLE(HPGPUNV);
DECLARE_HANDLE(HGPUNV);
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
typedef struct _GPU_DEVICE GPU_DEVICE;
typedef struct _GPU_DEVICE *PGPU_DEVICE;
#undef WGL_FONT_LINES
#define WGL_FONT_LINES 0x0
#undef WGL_FONT_POLYGONS
#define WGL_FONT_POLYGONS 0x1
#undef WGL_SWAP_MAIN_PLANE
#define WGL_SWAP_MAIN_PLANE 0x1
#undef WGL_SWAP_OVERLAY1
#define WGL_SWAP_OVERLAY1 0x2
#undef WGL_SWAP_OVERLAY10
#define WGL_SWAP_OVERLAY10 0x400
#undef WGL_SWAP_OVERLAY11
#define WGL_SWAP_OVERLAY11 0x800
#undef WGL_SWAP_OVERLAY12
#define WGL_SWAP_OVERLAY12 0x1000
#undef WGL_SWAP_OVERLAY13
#define WGL_SWAP_OVERLAY13 0x2000
#undef WGL_SWAP_OVERLAY14
#define WGL_SWAP_OVERLAY14 0x4000
#undef WGL_SWAP_OVERLAY15
#define WGL_SWAP_OVERLAY15 0x8000
#undef WGL_SWAP_OVERLAY2
#define WGL_SWAP_OVERLAY2 0x4
#undef WGL_SWAP_OVERLAY3
#define WGL_SWAP_OVERLAY3 0x8
#undef WGL_SWAP_OVERLAY4
#define WGL_SWAP_OVERLAY4 0x10
#undef WGL_SWAP_OVERLAY5
#define WGL_SWAP_OVERLAY5 0x20
#undef WGL_SWAP_OVERLAY6
#define WGL_SWAP_OVERLAY6 0x40
#undef WGL_SWAP_OVERLAY7
#define WGL_SWAP_OVERLAY7 0x80
#undef WGL_SWAP_OVERLAY8
#define WGL_SWAP_OVERLAY8 0x100
#undef WGL_SWAP_OVERLAY9
#define WGL_SWAP_OVERLAY9 0x200
#undef WGL_SWAP_UNDERLAY1
#define WGL_SWAP_UNDERLAY1 0x10000
#undef WGL_SWAP_UNDERLAY10
#define WGL_SWAP_UNDERLAY10 0x2000000
#undef WGL_SWAP_UNDERLAY11
#define WGL_SWAP_UNDERLAY11 0x4000000
#undef WGL_SWAP_UNDERLAY12
#define WGL_SWAP_UNDERLAY12 0x8000000
#undef WGL_SWAP_UNDERLAY13
#define WGL_SWAP_UNDERLAY13 0x10000000
#undef WGL_SWAP_UNDERLAY14
#define WGL_SWAP_UNDERLAY14 0x20000000
#undef WGL_SWAP_UNDERLAY15
#define WGL_SWAP_UNDERLAY15 0x40000000
#undef WGL_SWAP_UNDERLAY2
#define WGL_SWAP_UNDERLAY2 0x20000
#undef WGL_SWAP_UNDERLAY3
#define WGL_SWAP_UNDERLAY3 0x40000
#undef WGL_SWAP_UNDERLAY4
#define WGL_SWAP_UNDERLAY4 0x80000
#undef WGL_SWAP_UNDERLAY5
#define WGL_SWAP_UNDERLAY5 0x100000
#undef WGL_SWAP_UNDERLAY6
#define WGL_SWAP_UNDERLAY6 0x200000
#undef WGL_SWAP_UNDERLAY7
#define WGL_SWAP_UNDERLAY7 0x400000
#undef WGL_SWAP_UNDERLAY8
#define WGL_SWAP_UNDERLAY8 0x800000
#undef WGL_SWAP_UNDERLAY9
#define WGL_SWAP_UNDERLAY9 0x1000000

#undef wglCopyContext
#define wglCopyContext _glplatform_wglCopyContext
extern BOOL (*wglCopyContext)(HGLRC, HGLRC, UINT);
#undef wglCreateContext
#define wglCreateContext _glplatform_wglCreateContext
extern HGLRC (*wglCreateContext)(HDC);
#undef wglCreateLayerContext
#define wglCreateLayerContext _glplatform_wglCreateLayerContext
extern HGLRC (*wglCreateLayerContext)(HDC, int );
#undef wglDeleteContext
#define wglDeleteContext _glplatform_wglDeleteContext
extern BOOL (*wglDeleteContext)(HGLRC);
#undef wglDescribeLayerPlane
#define wglDescribeLayerPlane _glplatform_wglDescribeLayerPlane
extern BOOL (*wglDescribeLayerPlane)(HDC, int , int , UINT, const LAYERPLANEDESCRIPTOR *);
#undef wglGetCurrentContext
#define wglGetCurrentContext _glplatform_wglGetCurrentContext
extern HGLRC (*wglGetCurrentContext)();
#undef wglGetCurrentDC
#define wglGetCurrentDC _glplatform_wglGetCurrentDC
extern HDC (*wglGetCurrentDC)();
#undef wglGetLayerPaletteEntries
#define wglGetLayerPaletteEntries _glplatform_wglGetLayerPaletteEntries
extern int (*wglGetLayerPaletteEntries)(HDC, int , int , int , const COLORREF *);
#undef wglGetProcAddress
#define wglGetProcAddress _glplatform_wglGetProcAddress
extern PROC (*wglGetProcAddress)(LPCSTR);
#undef wglMakeCurrent
#define wglMakeCurrent _glplatform_wglMakeCurrent
extern BOOL (*wglMakeCurrent)(HDC, HGLRC);
#undef wglRealizeLayerPalette
#define wglRealizeLayerPalette _glplatform_wglRealizeLayerPalette
extern BOOL (*wglRealizeLayerPalette)(HDC, int , BOOL);
#undef wglSetLayerPaletteEntries
#define wglSetLayerPaletteEntries _glplatform_wglSetLayerPaletteEntries
extern int (*wglSetLayerPaletteEntries)(HDC, int , int , int , const COLORREF *);
#undef wglShareLists
#define wglShareLists _glplatform_wglShareLists
extern BOOL (*wglShareLists)(HGLRC, HGLRC);
#undef wglSwapLayerBuffers
#define wglSwapLayerBuffers _glplatform_wglSwapLayerBuffers
extern BOOL (*wglSwapLayerBuffers)(HDC, UINT);
#undef wglUseFontBitmapsA
#define wglUseFontBitmapsA _glplatform_wglUseFontBitmapsA
extern BOOL (*wglUseFontBitmapsA)(HDC, DWORD, DWORD, DWORD);
#undef wglUseFontBitmapsW
#define wglUseFontBitmapsW _glplatform_wglUseFontBitmapsW
extern BOOL (*wglUseFontBitmapsW)(HDC, DWORD, DWORD, DWORD);
#undef wglUseFontOutlinesA
#define wglUseFontOutlinesA _glplatform_wglUseFontOutlinesA
extern BOOL (*wglUseFontOutlinesA)(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int , LPGLYPHMETRICSFLOAT);
#undef wglUseFontOutlinesW
#define wglUseFontOutlinesW _glplatform_wglUseFontOutlinesW
extern BOOL (*wglUseFontOutlinesW)(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int , LPGLYPHMETRICSFLOAT);


#if defined(GLPLATFORM_ENABLE_WGL_3DFX_multisample)
extern bool GLPLATFORM_WGL_3DFX_multisample;
#undef WGL_SAMPLES_3DFX
#define WGL_SAMPLES_3DFX 0x2061
#undef WGL_SAMPLE_BUFFERS_3DFX
#define WGL_SAMPLE_BUFFERS_3DFX 0x2060

#endif

#if defined(GLPLATFORM_ENABLE_WGL_3DL_stereo_control)
extern bool GLPLATFORM_WGL_3DL_stereo_control;
#undef WGL_STEREO_EMITTER_DISABLE_3DL
#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
#undef WGL_STEREO_EMITTER_ENABLE_3DL
#define WGL_STEREO_EMITTER_ENABLE_3DL 0x2055
#undef WGL_STEREO_POLARITY_INVERT_3DL
#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
#undef WGL_STEREO_POLARITY_NORMAL_3DL
#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057

#undef wglSetStereoEmitterState3DL
#define wglSetStereoEmitterState3DL _glplatform_wglSetStereoEmitterState3DL
extern BOOL (*wglSetStereoEmitterState3DL)(HDC, UINT);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_AMD_gpu_association)
extern bool GLPLATFORM_WGL_AMD_gpu_association;
#undef WGL_GPU_CLOCK_AMD
#define WGL_GPU_CLOCK_AMD 0x21a4
#undef WGL_GPU_FASTEST_TARGET_GPUS_AMD
#define WGL_GPU_FASTEST_TARGET_GPUS_AMD 0x21a2
#undef WGL_GPU_NUM_PIPES_AMD
#define WGL_GPU_NUM_PIPES_AMD 0x21a5
#undef WGL_GPU_NUM_RB_AMD
#define WGL_GPU_NUM_RB_AMD 0x21a7
#undef WGL_GPU_NUM_SIMD_AMD
#define WGL_GPU_NUM_SIMD_AMD 0x21a6
#undef WGL_GPU_NUM_SPI_AMD
#define WGL_GPU_NUM_SPI_AMD 0x21a8
#undef WGL_GPU_OPENGL_VERSION_STRING_AMD
#define WGL_GPU_OPENGL_VERSION_STRING_AMD 0x1f02
#undef WGL_GPU_RAM_AMD
#define WGL_GPU_RAM_AMD 0x21a3
#undef WGL_GPU_RENDERER_STRING_AMD
#define WGL_GPU_RENDERER_STRING_AMD 0x1f01
#undef WGL_GPU_VENDOR_AMD
#define WGL_GPU_VENDOR_AMD 0x1f00

#undef wglBlitContextFramebufferAMD
#define wglBlitContextFramebufferAMD _glplatform_wglBlitContextFramebufferAMD
extern VOID (*wglBlitContextFramebufferAMD)(HGLRC, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
#undef wglCreateAssociatedContextAMD
#define wglCreateAssociatedContextAMD _glplatform_wglCreateAssociatedContextAMD
extern HGLRC (*wglCreateAssociatedContextAMD)(UINT);
#undef wglCreateAssociatedContextAttribsAMD
#define wglCreateAssociatedContextAttribsAMD _glplatform_wglCreateAssociatedContextAttribsAMD
extern HGLRC (*wglCreateAssociatedContextAttribsAMD)(UINT, HGLRC, const int *);
#undef wglDeleteAssociatedContextAMD
#define wglDeleteAssociatedContextAMD _glplatform_wglDeleteAssociatedContextAMD
extern BOOL (*wglDeleteAssociatedContextAMD)(HGLRC);
#undef wglGetContextGPUIDAMD
#define wglGetContextGPUIDAMD _glplatform_wglGetContextGPUIDAMD
extern UINT (*wglGetContextGPUIDAMD)(HGLRC);
#undef wglGetCurrentAssociatedContextAMD
#define wglGetCurrentAssociatedContextAMD _glplatform_wglGetCurrentAssociatedContextAMD
extern HGLRC (*wglGetCurrentAssociatedContextAMD)();
#undef wglGetGPUIDsAMD
#define wglGetGPUIDsAMD _glplatform_wglGetGPUIDsAMD
extern UINT (*wglGetGPUIDsAMD)(UINT, UINT *);
#undef wglGetGPUInfoAMD
#define wglGetGPUInfoAMD _glplatform_wglGetGPUInfoAMD
extern INT (*wglGetGPUInfoAMD)(UINT, int , GLenum, UINT, void *);
#undef wglMakeAssociatedContextCurrentAMD
#define wglMakeAssociatedContextCurrentAMD _glplatform_wglMakeAssociatedContextCurrentAMD
extern BOOL (*wglMakeAssociatedContextCurrentAMD)(HGLRC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_buffer_region)
extern bool GLPLATFORM_WGL_ARB_buffer_region;
#undef WGL_BACK_COLOR_BUFFER_BIT_ARB
#define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x2
#undef WGL_DEPTH_BUFFER_BIT_ARB
#define WGL_DEPTH_BUFFER_BIT_ARB 0x4
#undef WGL_FRONT_COLOR_BUFFER_BIT_ARB
#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x1
#undef WGL_STENCIL_BUFFER_BIT_ARB
#define WGL_STENCIL_BUFFER_BIT_ARB 0x8

#undef wglCreateBufferRegionARB
#define wglCreateBufferRegionARB _glplatform_wglCreateBufferRegionARB
extern HANDLE (*wglCreateBufferRegionARB)(HDC, int , UINT);
#undef wglDeleteBufferRegionARB
#define wglDeleteBufferRegionARB _glplatform_wglDeleteBufferRegionARB
extern VOID (*wglDeleteBufferRegionARB)(HANDLE);
#undef wglRestoreBufferRegionARB
#define wglRestoreBufferRegionARB _glplatform_wglRestoreBufferRegionARB
extern BOOL (*wglRestoreBufferRegionARB)(HANDLE, int , int , int , int , int , int );
#undef wglSaveBufferRegionARB
#define wglSaveBufferRegionARB _glplatform_wglSaveBufferRegionARB
extern BOOL (*wglSaveBufferRegionARB)(HANDLE, int , int , int , int );
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_context_flush_control)
extern bool GLPLATFORM_WGL_ARB_context_flush_control;
#undef WGL_CONTEXT_RELEASE_BEHAVIOR_ARB
#define WGL_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
#undef WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB
#define WGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
#undef WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB
#define WGL_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0x0

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_create_context)
extern bool GLPLATFORM_WGL_ARB_create_context;
#undef WGL_CONTEXT_DEBUG_BIT_ARB
#define WGL_CONTEXT_DEBUG_BIT_ARB 0x1
#undef WGL_CONTEXT_FLAGS_ARB
#define WGL_CONTEXT_FLAGS_ARB 0x2094
#undef WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB
#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2
#undef WGL_CONTEXT_LAYER_PLANE_ARB
#define WGL_CONTEXT_LAYER_PLANE_ARB 0x2093
#undef WGL_CONTEXT_MAJOR_VERSION_ARB
#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091
#undef WGL_CONTEXT_MINOR_VERSION_ARB
#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092

#undef wglCreateContextAttribsARB
#define wglCreateContextAttribsARB _glplatform_wglCreateContextAttribsARB
extern HGLRC (*wglCreateContextAttribsARB)(HDC, HGLRC, const int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_create_context_profile)
extern bool GLPLATFORM_WGL_ARB_create_context_profile;
#undef WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB
#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2
#undef WGL_CONTEXT_CORE_PROFILE_BIT_ARB
#define WGL_CONTEXT_CORE_PROFILE_BIT_ARB 0x1
#undef WGL_CONTEXT_PROFILE_MASK_ARB
#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_create_context_robustness)
extern bool GLPLATFORM_WGL_ARB_create_context_robustness;
#undef WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB
#define WGL_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
#undef WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB
#define WGL_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x4
#undef WGL_LOSE_CONTEXT_ON_RESET_ARB
#define WGL_LOSE_CONTEXT_ON_RESET_ARB 0x8252
#undef WGL_NO_RESET_NOTIFICATION_ARB
#define WGL_NO_RESET_NOTIFICATION_ARB 0x8261

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_extensions_string)
extern bool GLPLATFORM_WGL_ARB_extensions_string;
#undef wglGetExtensionsStringARB
#define wglGetExtensionsStringARB _glplatform_wglGetExtensionsStringARB
extern const char * (*wglGetExtensionsStringARB)(HDC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_framebuffer_sRGB)
extern bool GLPLATFORM_WGL_ARB_framebuffer_sRGB;
#undef WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20a9

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_make_current_read)
extern bool GLPLATFORM_WGL_ARB_make_current_read;
#undef wglGetCurrentReadDCARB
#define wglGetCurrentReadDCARB _glplatform_wglGetCurrentReadDCARB
extern HDC (*wglGetCurrentReadDCARB)();
#undef wglMakeContextCurrentARB
#define wglMakeContextCurrentARB _glplatform_wglMakeContextCurrentARB
extern BOOL (*wglMakeContextCurrentARB)(HDC, HDC, HGLRC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_multisample)
extern bool GLPLATFORM_WGL_ARB_multisample;
#undef WGL_SAMPLES_ARB
#define WGL_SAMPLES_ARB 0x2042
#undef WGL_SAMPLE_BUFFERS_ARB
#define WGL_SAMPLE_BUFFERS_ARB 0x2041

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_pbuffer)
extern bool GLPLATFORM_WGL_ARB_pbuffer;
#undef WGL_DRAW_TO_PBUFFER_ARB
#define WGL_DRAW_TO_PBUFFER_ARB 0x202d
#undef WGL_MAX_PBUFFER_HEIGHT_ARB
#define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030
#undef WGL_MAX_PBUFFER_PIXELS_ARB
#define WGL_MAX_PBUFFER_PIXELS_ARB 0x202e
#undef WGL_MAX_PBUFFER_WIDTH_ARB
#define WGL_MAX_PBUFFER_WIDTH_ARB 0x202f
#undef WGL_PBUFFER_HEIGHT_ARB
#define WGL_PBUFFER_HEIGHT_ARB 0x2035
#undef WGL_PBUFFER_LARGEST_ARB
#define WGL_PBUFFER_LARGEST_ARB 0x2033
#undef WGL_PBUFFER_LOST_ARB
#define WGL_PBUFFER_LOST_ARB 0x2036
#undef WGL_PBUFFER_WIDTH_ARB
#define WGL_PBUFFER_WIDTH_ARB 0x2034

#undef wglCreatePbufferARB
#define wglCreatePbufferARB _glplatform_wglCreatePbufferARB
extern HPBUFFERARB (*wglCreatePbufferARB)(HDC, int , int , int , const int *);
#undef wglDestroyPbufferARB
#define wglDestroyPbufferARB _glplatform_wglDestroyPbufferARB
extern BOOL (*wglDestroyPbufferARB)(HPBUFFERARB);
#undef wglGetPbufferDCARB
#define wglGetPbufferDCARB _glplatform_wglGetPbufferDCARB
extern HDC (*wglGetPbufferDCARB)(HPBUFFERARB);
#undef wglQueryPbufferARB
#define wglQueryPbufferARB _glplatform_wglQueryPbufferARB
extern BOOL (*wglQueryPbufferARB)(HPBUFFERARB, int , int *);
#undef wglReleasePbufferDCARB
#define wglReleasePbufferDCARB _glplatform_wglReleasePbufferDCARB
extern int (*wglReleasePbufferDCARB)(HPBUFFERARB, HDC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_pixel_format)
extern bool GLPLATFORM_WGL_ARB_pixel_format;
#undef WGL_ACCELERATION_ARB
#define WGL_ACCELERATION_ARB 0x2003
#undef WGL_ACCUM_ALPHA_BITS_ARB
#define WGL_ACCUM_ALPHA_BITS_ARB 0x2021
#undef WGL_ACCUM_BITS_ARB
#define WGL_ACCUM_BITS_ARB 0x201d
#undef WGL_ACCUM_BLUE_BITS_ARB
#define WGL_ACCUM_BLUE_BITS_ARB 0x2020
#undef WGL_ACCUM_GREEN_BITS_ARB
#define WGL_ACCUM_GREEN_BITS_ARB 0x201f
#undef WGL_ACCUM_RED_BITS_ARB
#define WGL_ACCUM_RED_BITS_ARB 0x201e
#undef WGL_ALPHA_BITS_ARB
#define WGL_ALPHA_BITS_ARB 0x201b
#undef WGL_ALPHA_SHIFT_ARB
#define WGL_ALPHA_SHIFT_ARB 0x201c
#undef WGL_AUX_BUFFERS_ARB
#define WGL_AUX_BUFFERS_ARB 0x2024
#undef WGL_BLUE_BITS_ARB
#define WGL_BLUE_BITS_ARB 0x2019
#undef WGL_BLUE_SHIFT_ARB
#define WGL_BLUE_SHIFT_ARB 0x201a
#undef WGL_COLOR_BITS_ARB
#define WGL_COLOR_BITS_ARB 0x2014
#undef WGL_DEPTH_BITS_ARB
#define WGL_DEPTH_BITS_ARB 0x2022
#undef WGL_DOUBLE_BUFFER_ARB
#define WGL_DOUBLE_BUFFER_ARB 0x2011
#undef WGL_DRAW_TO_BITMAP_ARB
#define WGL_DRAW_TO_BITMAP_ARB 0x2002
#undef WGL_DRAW_TO_WINDOW_ARB
#define WGL_DRAW_TO_WINDOW_ARB 0x2001
#undef WGL_FULL_ACCELERATION_ARB
#define WGL_FULL_ACCELERATION_ARB 0x2027
#undef WGL_GENERIC_ACCELERATION_ARB
#define WGL_GENERIC_ACCELERATION_ARB 0x2026
#undef WGL_GREEN_BITS_ARB
#define WGL_GREEN_BITS_ARB 0x2017
#undef WGL_GREEN_SHIFT_ARB
#define WGL_GREEN_SHIFT_ARB 0x2018
#undef WGL_NEED_PALETTE_ARB
#define WGL_NEED_PALETTE_ARB 0x2004
#undef WGL_NEED_SYSTEM_PALETTE_ARB
#define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005
#undef WGL_NO_ACCELERATION_ARB
#define WGL_NO_ACCELERATION_ARB 0x2025
#undef WGL_NUMBER_OVERLAYS_ARB
#define WGL_NUMBER_OVERLAYS_ARB 0x2008
#undef WGL_NUMBER_PIXEL_FORMATS_ARB
#define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000
#undef WGL_NUMBER_UNDERLAYS_ARB
#define WGL_NUMBER_UNDERLAYS_ARB 0x2009
#undef WGL_PIXEL_TYPE_ARB
#define WGL_PIXEL_TYPE_ARB 0x2013
#undef WGL_RED_BITS_ARB
#define WGL_RED_BITS_ARB 0x2015
#undef WGL_RED_SHIFT_ARB
#define WGL_RED_SHIFT_ARB 0x2016
#undef WGL_SHARE_ACCUM_ARB
#define WGL_SHARE_ACCUM_ARB 0x200e
#undef WGL_SHARE_DEPTH_ARB
#define WGL_SHARE_DEPTH_ARB 0x200c
#undef WGL_SHARE_STENCIL_ARB
#define WGL_SHARE_STENCIL_ARB 0x200d
#undef WGL_STENCIL_BITS_ARB
#define WGL_STENCIL_BITS_ARB 0x2023
#undef WGL_STEREO_ARB
#define WGL_STEREO_ARB 0x2012
#undef WGL_SUPPORT_GDI_ARB
#define WGL_SUPPORT_GDI_ARB 0x200f
#undef WGL_SUPPORT_OPENGL_ARB
#define WGL_SUPPORT_OPENGL_ARB 0x2010
#undef WGL_SWAP_COPY_ARB
#define WGL_SWAP_COPY_ARB 0x2029
#undef WGL_SWAP_EXCHANGE_ARB
#define WGL_SWAP_EXCHANGE_ARB 0x2028
#undef WGL_SWAP_LAYER_BUFFERS_ARB
#define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006
#undef WGL_SWAP_METHOD_ARB
#define WGL_SWAP_METHOD_ARB 0x2007
#undef WGL_SWAP_UNDEFINED_ARB
#define WGL_SWAP_UNDEFINED_ARB 0x202a
#undef WGL_TRANSPARENT_ALPHA_VALUE_ARB
#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203a
#undef WGL_TRANSPARENT_ARB
#define WGL_TRANSPARENT_ARB 0x200a
#undef WGL_TRANSPARENT_BLUE_VALUE_ARB
#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
#undef WGL_TRANSPARENT_GREEN_VALUE_ARB
#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
#undef WGL_TRANSPARENT_INDEX_VALUE_ARB
#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203b
#undef WGL_TRANSPARENT_RED_VALUE_ARB
#define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037
#undef WGL_TYPE_COLORINDEX_ARB
#define WGL_TYPE_COLORINDEX_ARB 0x202c
#undef WGL_TYPE_RGBA_ARB
#define WGL_TYPE_RGBA_ARB 0x202b

#undef wglChoosePixelFormatARB
#define wglChoosePixelFormatARB _glplatform_wglChoosePixelFormatARB
extern BOOL (*wglChoosePixelFormatARB)(HDC, const int *, const FLOAT *, UINT, int *, UINT *);
#undef wglGetPixelFormatAttribfvARB
#define wglGetPixelFormatAttribfvARB _glplatform_wglGetPixelFormatAttribfvARB
extern BOOL (*wglGetPixelFormatAttribfvARB)(HDC, int , int , UINT, const int *, FLOAT *);
#undef wglGetPixelFormatAttribivARB
#define wglGetPixelFormatAttribivARB _glplatform_wglGetPixelFormatAttribivARB
extern BOOL (*wglGetPixelFormatAttribivARB)(HDC, int , int , UINT, const int *, int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_pixel_format_float)
extern bool GLPLATFORM_WGL_ARB_pixel_format_float;
#undef WGL_TYPE_RGBA_FLOAT_ARB
#define WGL_TYPE_RGBA_FLOAT_ARB 0x21a0

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_render_texture)
extern bool GLPLATFORM_WGL_ARB_render_texture;
#undef WGL_AUX0_ARB
#define WGL_AUX0_ARB 0x2087
#undef WGL_AUX1_ARB
#define WGL_AUX1_ARB 0x2088
#undef WGL_AUX2_ARB
#define WGL_AUX2_ARB 0x2089
#undef WGL_AUX3_ARB
#define WGL_AUX3_ARB 0x208a
#undef WGL_AUX4_ARB
#define WGL_AUX4_ARB 0x208b
#undef WGL_AUX5_ARB
#define WGL_AUX5_ARB 0x208c
#undef WGL_AUX6_ARB
#define WGL_AUX6_ARB 0x208d
#undef WGL_AUX7_ARB
#define WGL_AUX7_ARB 0x208e
#undef WGL_AUX8_ARB
#define WGL_AUX8_ARB 0x208f
#undef WGL_AUX9_ARB
#define WGL_AUX9_ARB 0x2090
#undef WGL_BACK_LEFT_ARB
#define WGL_BACK_LEFT_ARB 0x2085
#undef WGL_BACK_RIGHT_ARB
#define WGL_BACK_RIGHT_ARB 0x2086
#undef WGL_BIND_TO_TEXTURE_RGBA_ARB
#define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071
#undef WGL_BIND_TO_TEXTURE_RGB_ARB
#define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070
#undef WGL_CUBE_MAP_FACE_ARB
#define WGL_CUBE_MAP_FACE_ARB 0x207c
#undef WGL_FRONT_LEFT_ARB
#define WGL_FRONT_LEFT_ARB 0x2083
#undef WGL_FRONT_RIGHT_ARB
#define WGL_FRONT_RIGHT_ARB 0x2084
#undef WGL_MIPMAP_LEVEL_ARB
#define WGL_MIPMAP_LEVEL_ARB 0x207b
#undef WGL_MIPMAP_TEXTURE_ARB
#define WGL_MIPMAP_TEXTURE_ARB 0x2074
#undef WGL_NO_TEXTURE_ARB
#define WGL_NO_TEXTURE_ARB 0x2077
#undef WGL_TEXTURE_1D_ARB
#define WGL_TEXTURE_1D_ARB 0x2079
#undef WGL_TEXTURE_2D_ARB
#define WGL_TEXTURE_2D_ARB 0x207a
#undef WGL_TEXTURE_CUBE_MAP_ARB
#define WGL_TEXTURE_CUBE_MAP_ARB 0x2078
#undef WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207e
#undef WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
#undef WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB
#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
#undef WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207d
#undef WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207f
#undef WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
#undef WGL_TEXTURE_FORMAT_ARB
#define WGL_TEXTURE_FORMAT_ARB 0x2072
#undef WGL_TEXTURE_RGBA_ARB
#define WGL_TEXTURE_RGBA_ARB 0x2076
#undef WGL_TEXTURE_RGB_ARB
#define WGL_TEXTURE_RGB_ARB 0x2075
#undef WGL_TEXTURE_TARGET_ARB
#define WGL_TEXTURE_TARGET_ARB 0x2073

#undef wglBindTexImageARB
#define wglBindTexImageARB _glplatform_wglBindTexImageARB
extern BOOL (*wglBindTexImageARB)(HPBUFFERARB, int );
#undef wglReleaseTexImageARB
#define wglReleaseTexImageARB _glplatform_wglReleaseTexImageARB
extern BOOL (*wglReleaseTexImageARB)(HPBUFFERARB, int );
#undef wglSetPbufferAttribARB
#define wglSetPbufferAttribARB _glplatform_wglSetPbufferAttribARB
extern BOOL (*wglSetPbufferAttribARB)(HPBUFFERARB, const int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_robustness_application_isolation)
extern bool GLPLATFORM_WGL_ARB_robustness_application_isolation;
#undef WGL_CONTEXT_RESET_ISOLATION_BIT_ARB
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ARB_robustness_share_group_isolation)
extern bool GLPLATFORM_WGL_ARB_robustness_share_group_isolation;
#undef WGL_CONTEXT_RESET_ISOLATION_BIT_ARB
#define WGL_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8

#endif

#if defined(GLPLATFORM_ENABLE_WGL_ATI_pixel_format_float)
extern bool GLPLATFORM_WGL_ATI_pixel_format_float;
#undef WGL_TYPE_RGBA_FLOAT_ATI
#define WGL_TYPE_RGBA_FLOAT_ATI 0x21a0

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_create_context_es2_profile)
extern bool GLPLATFORM_WGL_EXT_create_context_es2_profile;
#undef WGL_CONTEXT_ES2_PROFILE_BIT_EXT
#define WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x4

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_create_context_es_profile)
extern bool GLPLATFORM_WGL_EXT_create_context_es_profile;
#undef WGL_CONTEXT_ES_PROFILE_BIT_EXT
#define WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x4

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_depth_float)
extern bool GLPLATFORM_WGL_EXT_depth_float;
#undef WGL_DEPTH_FLOAT_EXT
#define WGL_DEPTH_FLOAT_EXT 0x2040

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_display_color_table)
extern bool GLPLATFORM_WGL_EXT_display_color_table;
#undef wglBindDisplayColorTableEXT
#define wglBindDisplayColorTableEXT _glplatform_wglBindDisplayColorTableEXT
extern GLboolean (*wglBindDisplayColorTableEXT)(GLushort);
#undef wglCreateDisplayColorTableEXT
#define wglCreateDisplayColorTableEXT _glplatform_wglCreateDisplayColorTableEXT
extern GLboolean (*wglCreateDisplayColorTableEXT)(GLushort);
#undef wglDestroyDisplayColorTableEXT
#define wglDestroyDisplayColorTableEXT _glplatform_wglDestroyDisplayColorTableEXT
extern VOID (*wglDestroyDisplayColorTableEXT)(GLushort);
#undef wglLoadDisplayColorTableEXT
#define wglLoadDisplayColorTableEXT _glplatform_wglLoadDisplayColorTableEXT
extern GLboolean (*wglLoadDisplayColorTableEXT)(const GLushort *, GLuint);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_extensions_string)
extern bool GLPLATFORM_WGL_EXT_extensions_string;
#undef wglGetExtensionsStringEXT
#define wglGetExtensionsStringEXT _glplatform_wglGetExtensionsStringEXT
extern const char * (*wglGetExtensionsStringEXT)();
#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_framebuffer_sRGB)
extern bool GLPLATFORM_WGL_EXT_framebuffer_sRGB;
#undef WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT
#define WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20a9

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_make_current_read)
extern bool GLPLATFORM_WGL_EXT_make_current_read;
#undef wglGetCurrentReadDCEXT
#define wglGetCurrentReadDCEXT _glplatform_wglGetCurrentReadDCEXT
extern HDC (*wglGetCurrentReadDCEXT)();
#undef wglMakeContextCurrentEXT
#define wglMakeContextCurrentEXT _glplatform_wglMakeContextCurrentEXT
extern BOOL (*wglMakeContextCurrentEXT)(HDC, HDC, HGLRC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_multisample)
extern bool GLPLATFORM_WGL_EXT_multisample;
#undef WGL_SAMPLES_EXT
#define WGL_SAMPLES_EXT 0x2042
#undef WGL_SAMPLE_BUFFERS_EXT
#define WGL_SAMPLE_BUFFERS_EXT 0x2041

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_pbuffer)
extern bool GLPLATFORM_WGL_EXT_pbuffer;
#undef WGL_DRAW_TO_PBUFFER_EXT
#define WGL_DRAW_TO_PBUFFER_EXT 0x202d
#undef WGL_MAX_PBUFFER_HEIGHT_EXT
#define WGL_MAX_PBUFFER_HEIGHT_EXT 0x2030
#undef WGL_MAX_PBUFFER_PIXELS_EXT
#define WGL_MAX_PBUFFER_PIXELS_EXT 0x202e
#undef WGL_MAX_PBUFFER_WIDTH_EXT
#define WGL_MAX_PBUFFER_WIDTH_EXT 0x202f
#undef WGL_OPTIMAL_PBUFFER_HEIGHT_EXT
#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
#undef WGL_OPTIMAL_PBUFFER_WIDTH_EXT
#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT 0x2031
#undef WGL_PBUFFER_HEIGHT_EXT
#define WGL_PBUFFER_HEIGHT_EXT 0x2035
#undef WGL_PBUFFER_LARGEST_EXT
#define WGL_PBUFFER_LARGEST_EXT 0x2033
#undef WGL_PBUFFER_WIDTH_EXT
#define WGL_PBUFFER_WIDTH_EXT 0x2034

#undef wglCreatePbufferEXT
#define wglCreatePbufferEXT _glplatform_wglCreatePbufferEXT
extern HPBUFFEREXT (*wglCreatePbufferEXT)(HDC, int , int , int , const int *);
#undef wglDestroyPbufferEXT
#define wglDestroyPbufferEXT _glplatform_wglDestroyPbufferEXT
extern BOOL (*wglDestroyPbufferEXT)(HPBUFFEREXT);
#undef wglGetPbufferDCEXT
#define wglGetPbufferDCEXT _glplatform_wglGetPbufferDCEXT
extern HDC (*wglGetPbufferDCEXT)(HPBUFFEREXT);
#undef wglQueryPbufferEXT
#define wglQueryPbufferEXT _glplatform_wglQueryPbufferEXT
extern BOOL (*wglQueryPbufferEXT)(HPBUFFEREXT, int , int *);
#undef wglReleasePbufferDCEXT
#define wglReleasePbufferDCEXT _glplatform_wglReleasePbufferDCEXT
extern int (*wglReleasePbufferDCEXT)(HPBUFFEREXT, HDC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_pixel_format)
extern bool GLPLATFORM_WGL_EXT_pixel_format;
#undef WGL_ACCELERATION_EXT
#define WGL_ACCELERATION_EXT 0x2003
#undef WGL_ACCUM_ALPHA_BITS_EXT
#define WGL_ACCUM_ALPHA_BITS_EXT 0x2021
#undef WGL_ACCUM_BITS_EXT
#define WGL_ACCUM_BITS_EXT 0x201d
#undef WGL_ACCUM_BLUE_BITS_EXT
#define WGL_ACCUM_BLUE_BITS_EXT 0x2020
#undef WGL_ACCUM_GREEN_BITS_EXT
#define WGL_ACCUM_GREEN_BITS_EXT 0x201f
#undef WGL_ACCUM_RED_BITS_EXT
#define WGL_ACCUM_RED_BITS_EXT 0x201e
#undef WGL_ALPHA_BITS_EXT
#define WGL_ALPHA_BITS_EXT 0x201b
#undef WGL_ALPHA_SHIFT_EXT
#define WGL_ALPHA_SHIFT_EXT 0x201c
#undef WGL_AUX_BUFFERS_EXT
#define WGL_AUX_BUFFERS_EXT 0x2024
#undef WGL_BLUE_BITS_EXT
#define WGL_BLUE_BITS_EXT 0x2019
#undef WGL_BLUE_SHIFT_EXT
#define WGL_BLUE_SHIFT_EXT 0x201a
#undef WGL_COLOR_BITS_EXT
#define WGL_COLOR_BITS_EXT 0x2014
#undef WGL_DEPTH_BITS_EXT
#define WGL_DEPTH_BITS_EXT 0x2022
#undef WGL_DOUBLE_BUFFER_EXT
#define WGL_DOUBLE_BUFFER_EXT 0x2011
#undef WGL_DRAW_TO_BITMAP_EXT
#define WGL_DRAW_TO_BITMAP_EXT 0x2002
#undef WGL_DRAW_TO_WINDOW_EXT
#define WGL_DRAW_TO_WINDOW_EXT 0x2001
#undef WGL_FULL_ACCELERATION_EXT
#define WGL_FULL_ACCELERATION_EXT 0x2027
#undef WGL_GENERIC_ACCELERATION_EXT
#define WGL_GENERIC_ACCELERATION_EXT 0x2026
#undef WGL_GREEN_BITS_EXT
#define WGL_GREEN_BITS_EXT 0x2017
#undef WGL_GREEN_SHIFT_EXT
#define WGL_GREEN_SHIFT_EXT 0x2018
#undef WGL_NEED_PALETTE_EXT
#define WGL_NEED_PALETTE_EXT 0x2004
#undef WGL_NEED_SYSTEM_PALETTE_EXT
#define WGL_NEED_SYSTEM_PALETTE_EXT 0x2005
#undef WGL_NO_ACCELERATION_EXT
#define WGL_NO_ACCELERATION_EXT 0x2025
#undef WGL_NUMBER_OVERLAYS_EXT
#define WGL_NUMBER_OVERLAYS_EXT 0x2008
#undef WGL_NUMBER_PIXEL_FORMATS_EXT
#define WGL_NUMBER_PIXEL_FORMATS_EXT 0x2000
#undef WGL_NUMBER_UNDERLAYS_EXT
#define WGL_NUMBER_UNDERLAYS_EXT 0x2009
#undef WGL_PIXEL_TYPE_EXT
#define WGL_PIXEL_TYPE_EXT 0x2013
#undef WGL_RED_BITS_EXT
#define WGL_RED_BITS_EXT 0x2015
#undef WGL_RED_SHIFT_EXT
#define WGL_RED_SHIFT_EXT 0x2016
#undef WGL_SHARE_ACCUM_EXT
#define WGL_SHARE_ACCUM_EXT 0x200e
#undef WGL_SHARE_DEPTH_EXT
#define WGL_SHARE_DEPTH_EXT 0x200c
#undef WGL_SHARE_STENCIL_EXT
#define WGL_SHARE_STENCIL_EXT 0x200d
#undef WGL_STENCIL_BITS_EXT
#define WGL_STENCIL_BITS_EXT 0x2023
#undef WGL_STEREO_EXT
#define WGL_STEREO_EXT 0x2012
#undef WGL_SUPPORT_GDI_EXT
#define WGL_SUPPORT_GDI_EXT 0x200f
#undef WGL_SUPPORT_OPENGL_EXT
#define WGL_SUPPORT_OPENGL_EXT 0x2010
#undef WGL_SWAP_COPY_EXT
#define WGL_SWAP_COPY_EXT 0x2029
#undef WGL_SWAP_EXCHANGE_EXT
#define WGL_SWAP_EXCHANGE_EXT 0x2028
#undef WGL_SWAP_LAYER_BUFFERS_EXT
#define WGL_SWAP_LAYER_BUFFERS_EXT 0x2006
#undef WGL_SWAP_METHOD_EXT
#define WGL_SWAP_METHOD_EXT 0x2007
#undef WGL_SWAP_UNDEFINED_EXT
#define WGL_SWAP_UNDEFINED_EXT 0x202a
#undef WGL_TRANSPARENT_EXT
#define WGL_TRANSPARENT_EXT 0x200a
#undef WGL_TRANSPARENT_VALUE_EXT
#define WGL_TRANSPARENT_VALUE_EXT 0x200b
#undef WGL_TYPE_COLORINDEX_EXT
#define WGL_TYPE_COLORINDEX_EXT 0x202c
#undef WGL_TYPE_RGBA_EXT
#define WGL_TYPE_RGBA_EXT 0x202b

#undef wglChoosePixelFormatEXT
#define wglChoosePixelFormatEXT _glplatform_wglChoosePixelFormatEXT
extern BOOL (*wglChoosePixelFormatEXT)(HDC, const int *, const FLOAT *, UINT, int *, UINT *);
#undef wglGetPixelFormatAttribfvEXT
#define wglGetPixelFormatAttribfvEXT _glplatform_wglGetPixelFormatAttribfvEXT
extern BOOL (*wglGetPixelFormatAttribfvEXT)(HDC, int , int , UINT, int *, FLOAT *);
#undef wglGetPixelFormatAttribivEXT
#define wglGetPixelFormatAttribivEXT _glplatform_wglGetPixelFormatAttribivEXT
extern BOOL (*wglGetPixelFormatAttribivEXT)(HDC, int , int , UINT, int *, int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_pixel_format_packed_float)
extern bool GLPLATFORM_WGL_EXT_pixel_format_packed_float;
#undef WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT
#define WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20a8

#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_swap_control)
extern bool GLPLATFORM_WGL_EXT_swap_control;
#undef wglGetSwapIntervalEXT
#define wglGetSwapIntervalEXT _glplatform_wglGetSwapIntervalEXT
extern int (*wglGetSwapIntervalEXT)();
#undef wglSwapIntervalEXT
#define wglSwapIntervalEXT _glplatform_wglSwapIntervalEXT
extern BOOL (*wglSwapIntervalEXT)(int );
#endif

#if defined(GLPLATFORM_ENABLE_WGL_EXT_swap_control_tear)
extern bool GLPLATFORM_WGL_EXT_swap_control_tear;
#endif

#if defined(GLPLATFORM_ENABLE_WGL_I3D_digital_video_control)
extern bool GLPLATFORM_WGL_I3D_digital_video_control;
#undef WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
#undef WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D
#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
#undef WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D
#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
#undef WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D
#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053

#undef wglGetDigitalVideoParametersI3D
#define wglGetDigitalVideoParametersI3D _glplatform_wglGetDigitalVideoParametersI3D
extern BOOL (*wglGetDigitalVideoParametersI3D)(HDC, int , int *);
#undef wglSetDigitalVideoParametersI3D
#define wglSetDigitalVideoParametersI3D _glplatform_wglSetDigitalVideoParametersI3D
extern BOOL (*wglSetDigitalVideoParametersI3D)(HDC, int , const int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_I3D_gamma)
extern bool GLPLATFORM_WGL_I3D_gamma;
#undef WGL_GAMMA_EXCLUDE_DESKTOP_I3D
#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D 0x204f
#undef WGL_GAMMA_TABLE_SIZE_I3D
#define WGL_GAMMA_TABLE_SIZE_I3D 0x204e

#undef wglGetGammaTableI3D
#define wglGetGammaTableI3D _glplatform_wglGetGammaTableI3D
extern BOOL (*wglGetGammaTableI3D)(HDC, int , USHORT *, USHORT *, USHORT *);
#undef wglGetGammaTableParametersI3D
#define wglGetGammaTableParametersI3D _glplatform_wglGetGammaTableParametersI3D
extern BOOL (*wglGetGammaTableParametersI3D)(HDC, int , int *);
#undef wglSetGammaTableI3D
#define wglSetGammaTableI3D _glplatform_wglSetGammaTableI3D
extern BOOL (*wglSetGammaTableI3D)(HDC, int , const USHORT *, const USHORT *, const USHORT *);
#undef wglSetGammaTableParametersI3D
#define wglSetGammaTableParametersI3D _glplatform_wglSetGammaTableParametersI3D
extern BOOL (*wglSetGammaTableParametersI3D)(HDC, int , const int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_I3D_genlock)
extern bool GLPLATFORM_WGL_I3D_genlock;
#undef WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D
#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
#undef WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D
#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
#undef WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D
#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204c
#undef WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D
#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204a
#undef WGL_GENLOCK_SOURCE_EDGE_RISING_I3D
#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204b
#undef WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D
#define WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D 0x2046
#undef WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D
#define WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D 0x2045
#undef WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D
#define WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D 0x2047
#undef WGL_GENLOCK_SOURCE_MULTIVIEW_I3D
#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044

#undef wglDisableGenlockI3D
#define wglDisableGenlockI3D _glplatform_wglDisableGenlockI3D
extern BOOL (*wglDisableGenlockI3D)(HDC);
#undef wglEnableGenlockI3D
#define wglEnableGenlockI3D _glplatform_wglEnableGenlockI3D
extern BOOL (*wglEnableGenlockI3D)(HDC);
#undef wglGenlockSampleRateI3D
#define wglGenlockSampleRateI3D _glplatform_wglGenlockSampleRateI3D
extern BOOL (*wglGenlockSampleRateI3D)(HDC, UINT);
#undef wglGenlockSourceDelayI3D
#define wglGenlockSourceDelayI3D _glplatform_wglGenlockSourceDelayI3D
extern BOOL (*wglGenlockSourceDelayI3D)(HDC, UINT);
#undef wglGenlockSourceEdgeI3D
#define wglGenlockSourceEdgeI3D _glplatform_wglGenlockSourceEdgeI3D
extern BOOL (*wglGenlockSourceEdgeI3D)(HDC, UINT);
#undef wglGenlockSourceI3D
#define wglGenlockSourceI3D _glplatform_wglGenlockSourceI3D
extern BOOL (*wglGenlockSourceI3D)(HDC, UINT);
#undef wglGetGenlockSampleRateI3D
#define wglGetGenlockSampleRateI3D _glplatform_wglGetGenlockSampleRateI3D
extern BOOL (*wglGetGenlockSampleRateI3D)(HDC, UINT *);
#undef wglGetGenlockSourceDelayI3D
#define wglGetGenlockSourceDelayI3D _glplatform_wglGetGenlockSourceDelayI3D
extern BOOL (*wglGetGenlockSourceDelayI3D)(HDC, UINT *);
#undef wglGetGenlockSourceEdgeI3D
#define wglGetGenlockSourceEdgeI3D _glplatform_wglGetGenlockSourceEdgeI3D
extern BOOL (*wglGetGenlockSourceEdgeI3D)(HDC, UINT *);
#undef wglGetGenlockSourceI3D
#define wglGetGenlockSourceI3D _glplatform_wglGetGenlockSourceI3D
extern BOOL (*wglGetGenlockSourceI3D)(HDC, UINT *);
#undef wglIsEnabledGenlockI3D
#define wglIsEnabledGenlockI3D _glplatform_wglIsEnabledGenlockI3D
extern BOOL (*wglIsEnabledGenlockI3D)(HDC, BOOL *);
#undef wglQueryGenlockMaxSourceDelayI3D
#define wglQueryGenlockMaxSourceDelayI3D _glplatform_wglQueryGenlockMaxSourceDelayI3D
extern BOOL (*wglQueryGenlockMaxSourceDelayI3D)(HDC, UINT *, UINT *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_I3D_image_buffer)
extern bool GLPLATFORM_WGL_I3D_image_buffer;
#undef WGL_IMAGE_BUFFER_LOCK_I3D
#define WGL_IMAGE_BUFFER_LOCK_I3D 0x2
#undef WGL_IMAGE_BUFFER_MIN_ACCESS_I3D
#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x1

#undef wglAssociateImageBufferEventsI3D
#define wglAssociateImageBufferEventsI3D _glplatform_wglAssociateImageBufferEventsI3D
extern BOOL (*wglAssociateImageBufferEventsI3D)(HDC, const HANDLE *, const LPVOID *, const DWORD *, UINT);
#undef wglCreateImageBufferI3D
#define wglCreateImageBufferI3D _glplatform_wglCreateImageBufferI3D
extern LPVOID (*wglCreateImageBufferI3D)(HDC, DWORD, UINT);
#undef wglDestroyImageBufferI3D
#define wglDestroyImageBufferI3D _glplatform_wglDestroyImageBufferI3D
extern BOOL (*wglDestroyImageBufferI3D)(HDC, LPVOID);
#undef wglReleaseImageBufferEventsI3D
#define wglReleaseImageBufferEventsI3D _glplatform_wglReleaseImageBufferEventsI3D
extern BOOL (*wglReleaseImageBufferEventsI3D)(HDC, const LPVOID *, UINT);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_I3D_swap_frame_lock)
extern bool GLPLATFORM_WGL_I3D_swap_frame_lock;
#undef wglDisableFrameLockI3D
#define wglDisableFrameLockI3D _glplatform_wglDisableFrameLockI3D
extern BOOL (*wglDisableFrameLockI3D)();
#undef wglEnableFrameLockI3D
#define wglEnableFrameLockI3D _glplatform_wglEnableFrameLockI3D
extern BOOL (*wglEnableFrameLockI3D)();
#undef wglIsEnabledFrameLockI3D
#define wglIsEnabledFrameLockI3D _glplatform_wglIsEnabledFrameLockI3D
extern BOOL (*wglIsEnabledFrameLockI3D)(BOOL *);
#undef wglQueryFrameLockMasterI3D
#define wglQueryFrameLockMasterI3D _glplatform_wglQueryFrameLockMasterI3D
extern BOOL (*wglQueryFrameLockMasterI3D)(BOOL *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_I3D_swap_frame_usage)
extern bool GLPLATFORM_WGL_I3D_swap_frame_usage;
#undef wglBeginFrameTrackingI3D
#define wglBeginFrameTrackingI3D _glplatform_wglBeginFrameTrackingI3D
extern BOOL (*wglBeginFrameTrackingI3D)();
#undef wglEndFrameTrackingI3D
#define wglEndFrameTrackingI3D _glplatform_wglEndFrameTrackingI3D
extern BOOL (*wglEndFrameTrackingI3D)();
#undef wglGetFrameUsageI3D
#define wglGetFrameUsageI3D _glplatform_wglGetFrameUsageI3D
extern BOOL (*wglGetFrameUsageI3D)(float *);
#undef wglQueryFrameTrackingI3D
#define wglQueryFrameTrackingI3D _glplatform_wglQueryFrameTrackingI3D
extern BOOL (*wglQueryFrameTrackingI3D)(DWORD *, DWORD *, float *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_DX_interop)
extern bool GLPLATFORM_WGL_NV_DX_interop;
#undef WGL_ACCESS_READ_ONLY_NV
#define WGL_ACCESS_READ_ONLY_NV 0x0
#undef WGL_ACCESS_READ_WRITE_NV
#define WGL_ACCESS_READ_WRITE_NV 0x1
#undef WGL_ACCESS_WRITE_DISCARD_NV
#define WGL_ACCESS_WRITE_DISCARD_NV 0x2

#undef wglDXCloseDeviceNV
#define wglDXCloseDeviceNV _glplatform_wglDXCloseDeviceNV
extern BOOL (*wglDXCloseDeviceNV)(HANDLE);
#undef wglDXLockObjectsNV
#define wglDXLockObjectsNV _glplatform_wglDXLockObjectsNV
extern BOOL (*wglDXLockObjectsNV)(HANDLE, GLint, HANDLE *);
#undef wglDXObjectAccessNV
#define wglDXObjectAccessNV _glplatform_wglDXObjectAccessNV
extern BOOL (*wglDXObjectAccessNV)(HANDLE, GLenum);
#undef wglDXOpenDeviceNV
#define wglDXOpenDeviceNV _glplatform_wglDXOpenDeviceNV
extern HANDLE (*wglDXOpenDeviceNV)(void *);
#undef wglDXRegisterObjectNV
#define wglDXRegisterObjectNV _glplatform_wglDXRegisterObjectNV
extern HANDLE (*wglDXRegisterObjectNV)(HANDLE, void *, GLuint, GLenum, GLenum);
#undef wglDXSetResourceShareHandleNV
#define wglDXSetResourceShareHandleNV _glplatform_wglDXSetResourceShareHandleNV
extern BOOL (*wglDXSetResourceShareHandleNV)(void *, HANDLE);
#undef wglDXUnlockObjectsNV
#define wglDXUnlockObjectsNV _glplatform_wglDXUnlockObjectsNV
extern BOOL (*wglDXUnlockObjectsNV)(HANDLE, GLint, HANDLE *);
#undef wglDXUnregisterObjectNV
#define wglDXUnregisterObjectNV _glplatform_wglDXUnregisterObjectNV
extern BOOL (*wglDXUnregisterObjectNV)(HANDLE, HANDLE);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_DX_interop2)
extern bool GLPLATFORM_WGL_NV_DX_interop2;
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_copy_image)
extern bool GLPLATFORM_WGL_NV_copy_image;
#undef wglCopyImageSubDataNV
#define wglCopyImageSubDataNV _glplatform_wglCopyImageSubDataNV
extern BOOL (*wglCopyImageSubDataNV)(HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, HGLRC, GLuint, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_delay_before_swap)
extern bool GLPLATFORM_WGL_NV_delay_before_swap;
#undef wglDelayBeforeSwapNV
#define wglDelayBeforeSwapNV _glplatform_wglDelayBeforeSwapNV
extern BOOL (*wglDelayBeforeSwapNV)(HDC, GLfloat);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_float_buffer)
extern bool GLPLATFORM_WGL_NV_float_buffer;
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20b4
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20b3
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20b2
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20b1
#undef WGL_FLOAT_COMPONENTS_NV
#define WGL_FLOAT_COMPONENTS_NV 0x20b0
#undef WGL_TEXTURE_FLOAT_RGBA_NV
#define WGL_TEXTURE_FLOAT_RGBA_NV 0x20b8
#undef WGL_TEXTURE_FLOAT_RGB_NV
#define WGL_TEXTURE_FLOAT_RGB_NV 0x20b7
#undef WGL_TEXTURE_FLOAT_RG_NV
#define WGL_TEXTURE_FLOAT_RG_NV 0x20b6
#undef WGL_TEXTURE_FLOAT_R_NV
#define WGL_TEXTURE_FLOAT_R_NV 0x20b5

#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_gpu_affinity)
extern bool GLPLATFORM_WGL_NV_gpu_affinity;
#undef wglCreateAffinityDCNV
#define wglCreateAffinityDCNV _glplatform_wglCreateAffinityDCNV
extern HDC (*wglCreateAffinityDCNV)(const HGPUNV *);
#undef wglDeleteDCNV
#define wglDeleteDCNV _glplatform_wglDeleteDCNV
extern BOOL (*wglDeleteDCNV)(HDC);
#undef wglEnumGpuDevicesNV
#define wglEnumGpuDevicesNV _glplatform_wglEnumGpuDevicesNV
extern BOOL (*wglEnumGpuDevicesNV)(HGPUNV, UINT, PGPU_DEVICE);
#undef wglEnumGpusFromAffinityDCNV
#define wglEnumGpusFromAffinityDCNV _glplatform_wglEnumGpusFromAffinityDCNV
extern BOOL (*wglEnumGpusFromAffinityDCNV)(HDC, UINT, HGPUNV *);
#undef wglEnumGpusNV
#define wglEnumGpusNV _glplatform_wglEnumGpusNV
extern BOOL (*wglEnumGpusNV)(UINT, HGPUNV *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_multisample_coverage)
extern bool GLPLATFORM_WGL_NV_multisample_coverage;
#undef WGL_COLOR_SAMPLES_NV
#define WGL_COLOR_SAMPLES_NV 0x20b9
#undef WGL_COVERAGE_SAMPLES_NV
#define WGL_COVERAGE_SAMPLES_NV 0x2042

#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_present_video)
extern bool GLPLATFORM_WGL_NV_present_video;
#undef WGL_NUM_VIDEO_SLOTS_NV
#define WGL_NUM_VIDEO_SLOTS_NV 0x20f0

#undef wglBindVideoDeviceNV
#define wglBindVideoDeviceNV _glplatform_wglBindVideoDeviceNV
extern BOOL (*wglBindVideoDeviceNV)(HDC, unsigned int , HVIDEOOUTPUTDEVICENV, const int *);
#undef wglEnumerateVideoDevicesNV
#define wglEnumerateVideoDevicesNV _glplatform_wglEnumerateVideoDevicesNV
extern int (*wglEnumerateVideoDevicesNV)(HDC, HVIDEOOUTPUTDEVICENV *);
#undef wglQueryCurrentContextNV
#define wglQueryCurrentContextNV _glplatform_wglQueryCurrentContextNV
extern BOOL (*wglQueryCurrentContextNV)(int , int *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_render_depth_texture)
extern bool GLPLATFORM_WGL_NV_render_depth_texture;
#undef WGL_BIND_TO_TEXTURE_DEPTH_NV
#define WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20a3
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20a4
#undef WGL_DEPTH_COMPONENT_NV
#define WGL_DEPTH_COMPONENT_NV 0x20a7
#undef WGL_DEPTH_TEXTURE_FORMAT_NV
#define WGL_DEPTH_TEXTURE_FORMAT_NV 0x20a5
#undef WGL_TEXTURE_DEPTH_COMPONENT_NV
#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20a6

#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_render_texture_rectangle)
extern bool GLPLATFORM_WGL_NV_render_texture_rectangle;
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20a1
#undef WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV
#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20a0
#undef WGL_TEXTURE_RECTANGLE_NV
#define WGL_TEXTURE_RECTANGLE_NV 0x20a2

#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_swap_group)
extern bool GLPLATFORM_WGL_NV_swap_group;
#undef wglBindSwapBarrierNV
#define wglBindSwapBarrierNV _glplatform_wglBindSwapBarrierNV
extern BOOL (*wglBindSwapBarrierNV)(GLuint, GLuint);
#undef wglJoinSwapGroupNV
#define wglJoinSwapGroupNV _glplatform_wglJoinSwapGroupNV
extern BOOL (*wglJoinSwapGroupNV)(HDC, GLuint);
#undef wglQueryFrameCountNV
#define wglQueryFrameCountNV _glplatform_wglQueryFrameCountNV
extern BOOL (*wglQueryFrameCountNV)(HDC, GLuint *);
#undef wglQueryMaxSwapGroupsNV
#define wglQueryMaxSwapGroupsNV _glplatform_wglQueryMaxSwapGroupsNV
extern BOOL (*wglQueryMaxSwapGroupsNV)(HDC, GLuint *, GLuint *);
#undef wglQuerySwapGroupNV
#define wglQuerySwapGroupNV _glplatform_wglQuerySwapGroupNV
extern BOOL (*wglQuerySwapGroupNV)(HDC, GLuint *, GLuint *);
#undef wglResetFrameCountNV
#define wglResetFrameCountNV _glplatform_wglResetFrameCountNV
extern BOOL (*wglResetFrameCountNV)(HDC);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_vertex_array_range)
extern bool GLPLATFORM_WGL_NV_vertex_array_range;
#undef wglAllocateMemoryNV
#define wglAllocateMemoryNV _glplatform_wglAllocateMemoryNV
extern void * (*wglAllocateMemoryNV)(GLsizei, GLfloat, GLfloat, GLfloat);
#undef wglFreeMemoryNV
#define wglFreeMemoryNV _glplatform_wglFreeMemoryNV
extern void (*wglFreeMemoryNV)(void *);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_video_capture)
extern bool GLPLATFORM_WGL_NV_video_capture;
#undef WGL_NUM_VIDEO_CAPTURE_SLOTS_NV
#define WGL_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf
#undef WGL_UNIQUE_ID_NV
#define WGL_UNIQUE_ID_NV 0x20ce

#undef wglBindVideoCaptureDeviceNV
#define wglBindVideoCaptureDeviceNV _glplatform_wglBindVideoCaptureDeviceNV
extern BOOL (*wglBindVideoCaptureDeviceNV)(UINT, HVIDEOINPUTDEVICENV);
#undef wglEnumerateVideoCaptureDevicesNV
#define wglEnumerateVideoCaptureDevicesNV _glplatform_wglEnumerateVideoCaptureDevicesNV
extern UINT (*wglEnumerateVideoCaptureDevicesNV)(HDC, HVIDEOINPUTDEVICENV *);
#undef wglLockVideoCaptureDeviceNV
#define wglLockVideoCaptureDeviceNV _glplatform_wglLockVideoCaptureDeviceNV
extern BOOL (*wglLockVideoCaptureDeviceNV)(HDC, HVIDEOINPUTDEVICENV);
#undef wglQueryVideoCaptureDeviceNV
#define wglQueryVideoCaptureDeviceNV _glplatform_wglQueryVideoCaptureDeviceNV
extern BOOL (*wglQueryVideoCaptureDeviceNV)(HDC, HVIDEOINPUTDEVICENV, int , int *);
#undef wglReleaseVideoCaptureDeviceNV
#define wglReleaseVideoCaptureDeviceNV _glplatform_wglReleaseVideoCaptureDeviceNV
extern BOOL (*wglReleaseVideoCaptureDeviceNV)(HDC, HVIDEOINPUTDEVICENV);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_NV_video_output)
extern bool GLPLATFORM_WGL_NV_video_output;
#undef WGL_BIND_TO_VIDEO_RGBA_NV
#define WGL_BIND_TO_VIDEO_RGBA_NV 0x20c1
#undef WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV
#define WGL_BIND_TO_VIDEO_RGB_AND_DEPTH_NV 0x20c2
#undef WGL_BIND_TO_VIDEO_RGB_NV
#define WGL_BIND_TO_VIDEO_RGB_NV 0x20c0
#undef WGL_VIDEO_OUT_ALPHA_NV
#define WGL_VIDEO_OUT_ALPHA_NV 0x20c4
#undef WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV
#define WGL_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20c6
#undef WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV
#define WGL_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20c7
#undef WGL_VIDEO_OUT_COLOR_NV
#define WGL_VIDEO_OUT_COLOR_NV 0x20c3
#undef WGL_VIDEO_OUT_DEPTH_NV
#define WGL_VIDEO_OUT_DEPTH_NV 0x20c5
#undef WGL_VIDEO_OUT_FIELD_1
#define WGL_VIDEO_OUT_FIELD_1 0x20c9
#undef WGL_VIDEO_OUT_FIELD_2
#define WGL_VIDEO_OUT_FIELD_2 0x20ca
#undef WGL_VIDEO_OUT_FRAME
#define WGL_VIDEO_OUT_FRAME 0x20c8
#undef WGL_VIDEO_OUT_STACKED_FIELDS_1_2
#define WGL_VIDEO_OUT_STACKED_FIELDS_1_2 0x20cb
#undef WGL_VIDEO_OUT_STACKED_FIELDS_2_1
#define WGL_VIDEO_OUT_STACKED_FIELDS_2_1 0x20cc

#undef wglBindVideoImageNV
#define wglBindVideoImageNV _glplatform_wglBindVideoImageNV
extern BOOL (*wglBindVideoImageNV)(HPVIDEODEV, HPBUFFERARB, int );
#undef wglGetVideoDeviceNV
#define wglGetVideoDeviceNV _glplatform_wglGetVideoDeviceNV
extern BOOL (*wglGetVideoDeviceNV)(HDC, int , HPVIDEODEV *);
#undef wglGetVideoInfoNV
#define wglGetVideoInfoNV _glplatform_wglGetVideoInfoNV
extern BOOL (*wglGetVideoInfoNV)(HPVIDEODEV, unsigned long *, unsigned long *);
#undef wglReleaseVideoDeviceNV
#define wglReleaseVideoDeviceNV _glplatform_wglReleaseVideoDeviceNV
extern BOOL (*wglReleaseVideoDeviceNV)(HPVIDEODEV);
#undef wglReleaseVideoImageNV
#define wglReleaseVideoImageNV _glplatform_wglReleaseVideoImageNV
extern BOOL (*wglReleaseVideoImageNV)(HPBUFFERARB, int );
#undef wglSendPbufferToVideoNV
#define wglSendPbufferToVideoNV _glplatform_wglSendPbufferToVideoNV
extern BOOL (*wglSendPbufferToVideoNV)(HPBUFFERARB, int , unsigned long *, BOOL);
#endif

#if defined(GLPLATFORM_ENABLE_WGL_OML_sync_control)
extern bool GLPLATFORM_WGL_OML_sync_control;
#undef wglGetMscRateOML
#define wglGetMscRateOML _glplatform_wglGetMscRateOML
extern BOOL (*wglGetMscRateOML)(HDC, INT32 *, INT32 *);
#undef wglGetSyncValuesOML
#define wglGetSyncValuesOML _glplatform_wglGetSyncValuesOML
extern BOOL (*wglGetSyncValuesOML)(HDC, INT64 *, INT64 *, INT64 *);
#undef wglSwapBuffersMscOML
#define wglSwapBuffersMscOML _glplatform_wglSwapBuffersMscOML
extern INT64 (*wglSwapBuffersMscOML)(HDC, INT64, INT64, INT64);
#undef wglSwapLayerBuffersMscOML
#define wglSwapLayerBuffersMscOML _glplatform_wglSwapLayerBuffersMscOML
extern INT64 (*wglSwapLayerBuffersMscOML)(HDC, int , INT64, INT64, INT64);
#undef wglWaitForMscOML
#define wglWaitForMscOML _glplatform_wglWaitForMscOML
extern BOOL (*wglWaitForMscOML)(HDC, INT64, INT64, INT64, INT64 *, INT64 *, INT64 *);
#undef wglWaitForSbcOML
#define wglWaitForSbcOML _glplatform_wglWaitForSbcOML
extern BOOL (*wglWaitForSbcOML)(HDC, INT64, INT64 *, INT64 *, INT64 *);
#endif

bool glplatform_wgl_init(int maj, int min);

#ifdef __cplusplus
}
#endif
#endif
